package com.ryder.petmatediarybackend.module.file.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 描述: 文件上传响应VO
 *
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025/10/30
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "文件上传响应VO")
public class FileUploadVO {

    @Schema(description = "文件唯一标识", example = "avatar/pet/123/1730280000_abc123.jpg")
    private String fileKey;

    @Schema(description = "文件访问URL", example = "https://minio.xxx.com/petmate/avatar/pet/123/1730280000_abc123.jpg")
    private String url;

    @Schema(description = "原始文件名", example = "小猫咪.jpg")
    private String fileName;

    @Schema(description = "文件大小（字节）", example = "102400")
    private Long fileSize;

    @Schema(description = "文件类型", example = "image/jpeg")
    private String fileType;
}
